package uade.distribuidas.server.manager;

import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.ArrayList;
import java.util.List;

import uade.distribuidas.repo.dto.ListaPrecioDTO;
import uade.distribuidas.repo.exception.ExceptionListaPrecio;
import uade.distribuidas.repo.interfaces.ManagerListasIf;
import uade.distribuidas.repo.type.ListaType;
import uade.distribuidas.server.dao.ListasDAO;
import uade.distribuidas.server.domain.ListaPrecio;



public class ManagerListas extends UnicastRemoteObject implements ManagerListasIf {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;


	public ManagerListas() throws RemoteException {
		super();
		// TODO Auto-generated constructor stub
	}


	
	public  List<ListaPrecioDTO> getListasGenerales() throws ExceptionListaPrecio{
		List<ListaPrecioDTO> datos = new ArrayList<ListaPrecioDTO>();
		for(ListaPrecio c : ListasDAO.getInstancia().getListasGenerales()){
			datos.add(c.getVista());
		}
		return datos;
	
	}
	public  List<ListaPrecioDTO> getListasOfertas() throws ExceptionListaPrecio{
		List<ListaPrecioDTO> datos = new ArrayList<ListaPrecioDTO>();
		for(ListaPrecio c : ListasDAO.getInstancia().getListasOfertas()){
			datos.add(c.getVista());
		}
		return datos;
	}

	public  ListaPrecioDTO getLista(Integer id) throws ExceptionListaPrecio{
		return ListasDAO.getInstancia().getLista(id).getVista();
	}
	
	public ListaPrecioDTO getLista(String numero,ListaType tipo)throws ExceptionListaPrecio{
		return ListasDAO.getInstancia().getLista(numero,tipo).getVista();
	}
	public  ListaPrecioDTO save(ListaPrecioDTO l)throws ExceptionListaPrecio {
		ListaPrecio clase=null;
		return ListasDAO.getInstancia().save(clase).getVista();
	}

	@Override
	public List<ListaPrecioDTO> getListas() throws ExceptionListaPrecio {
		List<ListaPrecioDTO> datos = new ArrayList<ListaPrecioDTO>();
		for(ListaPrecio c : ListasDAO.getInstancia().getListas()){
			datos.add(c.getVista());
		}
		return datos;
		
	}



}
